#编辑集群中的各个节点主机名
hostnamectl set-hostname hdfs2
#配置 hosts 文件
vi /etc/hosts # 127.0.0.1 hadoop01
192.168.22.131    hdfs1
192.168.22.132    hdfs2
192.168.22.133    hdfs3

#新建hadoop用户以及用户组，并赋予sudo免密码权限
useradd hadoop
#将hadoop用户加入到hadoop用户组
#创建hadoop用户的同时也创建了hadoop用户组，下面我们把hadoop用户加入到hadoop用户组
usermod -a -G hadoop hadoop

# hadoop 配置集群免密登录
#生成公钥
ssh-keygen -t rsa
#发送公钥
ssh-copy-id hdfs1
ssh-copy-id hdfs2
ssh-copy-id hdfs3

#生成数据目录
mkdir -p /home/hadoop/hadoop/data/dfs/name
mkdir -p /home/hadoop/hadoop/data/dfs/data
mkdir -p /home/hadoop/hadoop/journalnode

# 配置hadoop HA 同步
# 编辑配置文件  HA core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml
# 配置workers
hdfs1 # 主机名
hdfs2
hdfs3

# 配置环境变量
[root@hadoop01 opt]# vim /etc/profile
#Hadoop
export HADOOP_HOME=/usr/hadoop/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
sudo tee -a /etc/profile <<-'EOF'
export HADOOP_HOME=/usr/hadoop/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
EOF

#保存后，使profile生效
[root@hadoop01 opt]# source /etc/profile

# 配置启动脚本，添加HDFS和Yarn权限 暂时未配置
[root@hadoop01 sbin]# vim sbin/start-dfs.sh 
[root@hadoop01 sbin]# vim sbin/stop-dfs.sh 


HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
添加Yarn权限：编辑如下脚本，在第二行空白位置添加Yarn权限

[root@hadoop01 sbin]# vim sbin/start-yarn.sh 
[root@hadoop01 sbin]# vim sbin/stop-yarn.sh 

YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=yarn
YARN_NODEMANAGER_USER=root
#配置fair-scheduler 暂时未配置
#在/usr/local/hadoop/hadoop/etc/hadoop目录下新建fair-scheduler.xml文件


# 首次 格式化
# 启动journalnode
 hdfs --daemon start journalnode
 # 格式化 在master
 hdfs namenode -format
 # 在master上启动namenode
 hdfs --daemon start namenode
 # 在master2上同步master namenode元数据
 hdfs namenode -bootstrapStandby
 #在master上关闭namenode
 hdfs --daemon stop namenode
 # 格式化zkfc（仅第一次启动执行）
 hdfs zkfc -formatZK
 # 关闭journalnode
 hdfs --daemon stop journalnode
 
#启动hadoop集群
 #配置hadoop yarn mapred env.sh
 export JAVA_HOME="/usr/java/jdk1.8.0_271"
 # 在master上执行
 # 启动HDFS
 ./sbin/start-dfs.sh
 # 启动YARN
 ./sbin/start-yarn.sh
 # 启动MR的historyserver
 mapred --daemon start historyserver

https://blog.csdn.net/wangkai_123456/article/details/90599771?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-13.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-13.control
https://blog.csdn.net/Andy86666/article/details/114683689
https://www.cnblogs.com/clsn/p/10300487.html
https://blog.csdn.net/llwy1428/article/details/111569392
 